CodeIgniter-এ .htaccess ফাইল এবং Base URL কনফিগারেশন গুরুত্বপূর্ণ, কারণ এগুলো সঠিকভাবে কনফিগার না করলে অ্যাপ্লিকেশন সঠিকভাবে কাজ করতে পারে না। নিচে ধাপে ধাপে .htaccess এবং Base URL কনফিগারেশন প্রক্রিয়া দেখানো হয়েছে।
CodeIgniter-এ .htaccess ফাইল ব্যবহার করা হয় URL রিরাইটিং এবং index.php সরিয়ে ফেলার জন্য। এটি Apache সার্ভারে কাজ করে এবং ডিফল্টভাবে ফ্রেমওয়ার্কের public/
ফোল্ডারে সংরক্ষিত থাকে।
.htaccess
ফাইল তৈরি করুন (যদি না থাকে)।নিচের কোডটি ফাইলটিতে যোগ করুন:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
# Prevent access to system and writable folders
RewriteRule ^(system|writable) index.php [F,L]
# Remove index.php from URL
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule>
আপনার সার্ভারে mod_rewrite মডিউল সক্রিয় আছে কিনা নিশ্চিত করুন। যদি সক্রিয় না থাকে:
httpd.conf
ফাইল খুলুন।নিচের লাইনটি আনকমেন্ট করুন (যদি কমেন্ট করা থাকে):
LoadModule rewrite_module modules/mod_rewrite.so
Base URL হলো অ্যাপ্লিকেশনের মূল URL। এটি সঠিকভাবে সেট না করলে বিভিন্ন রিসোর্স (CSS, JS, ইমেজ) লোড হতে পারে না এবং লিংক ঠিকমতো কাজ করবে না।
app/Config/App.php
ফাইলটি খুলুন।$baseURL
প্রপার্টি সঠিকভাবে কনফিগার করুন:
public $baseURL = 'http://localhost/your_project_name/';
যদি আপনি custom domain ব্যবহার করেন, তাহলে সেটি যোগ করুন:
public $baseURL = 'http://example.com/';
যদি আপনার সার্ভার HTTPS সমর্থন করে, তাহলে Base URL এ http
এর পরিবর্তে https
ব্যবহার করুন:
public $baseURL = 'https://example.com/';
AllowOverride All
সেটিং চেক করুন:Apache কনফিগারেশন ফাইলে (যেমন: httpd.conf
) নিম্নলিখিত পরিবর্তন করুন:
<Directory "C:/xampp/htdocs">
AllowOverride All
</Directory>
.htaccess
ফাইল সঠিকভাবে কাজ করছে কিনা চেক করুন।.htaccess
এবং Base URL একত্রে কাজ করাধরুন, আপনার প্রজেক্টের নাম my_project এবং আপনার সার্ভার localhost। তাহলে:
.htaccess
ফাইল:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /my_project/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule>
app/Config/App.php
ফাইলের $baseURL
:
public $baseURL = 'http://localhost/my_project/';
ব্রাউজারে যান:
http://localhost/my_project/
লিংকে index.php
থাকবে না, যেমন:
http://localhost/my_project/controller/method
সঠিক .htaccess
এবং Base URL কনফিগারেশনের মাধ্যমে CodeIgniter অ্যাপ্লিকেশন দ্রুত এবং নির্ভুলভাবে কাজ করবে।
Read more